This appendix contains the following topics:
Introduction to Direct Deposit ACH File Specifications
ACH Field Details by Record Type
Use of Fields for Immediate Origin Options
ACH processing involves paying vendors and employees via a file generated during a check run in Accounts Payable and Payroll by submitting the file to your bank. It is also known as direct deposit.
For more information on the setup of this feature see the appendix Implement Positive Pay and Direct Deposit in the A/P or P/R User documentation.
There is a standard ACH file format, as determined by NACHA, that the bank personnel expect when processing electronic payments.
This appendix provides the technical details of the contents of an ACH file.
An ACH file is a fixed length 94 byte length text file. There are 6 record types in an ACH file. Each record type is written to a separate line. The structure and number of lines for each record type is the following:
Record description |
Record type indicator |
Number of records per file |
Header 1 |
1 |
1 |
Header 2 |
5 |
1 |
Lines |
6 |
One line per payment to each employee or vendor |
Batch control |
8 |
1 |
File batch |
9 |
1* |
* An ACH file must have at least 10 lines in length. If there are less than 10 lines, additional “9” records (all 9s) are generated to make up the difference. These lines are for filler purposes only.
The first digit on each line is the record type indicator. The next section provides the field by field details for each record type.
Each record type has a different set of fields. In this section of the chapter each record type is documented. For each field the position, size, status and field name and data origin is provided.
The following is the technical information for the record 1 ACH fields.
Field |
Position |
Size |
Status |
Field Name |
Data Origin |
1 |
1 |
1 |
required |
Record type |
Program - always “1" |
2 |
2-3 |
2 |
required |
Priority code |
Program - always “01" |
3 |
4-13 |
10 |
required |
Immediate destination |
Bank accounts screen 1/ field 5 ABA routing |
4 |
14-23 |
10 |
required |
Immediate origin |
Bank accounts screen 2/ field 4 ACH imm-origin tax id/ no. |
5 |
24-29 |
6 |
required |
File creation date |
System date |
6 |
30-33 |
4 |
optional |
File creation time |
System time |
7 |
34-34 |
1 |
required |
File ID modifier |
If multiple files are created on same day, this starts as “A”, incrementing through the alphabet |
8 |
35-37 |
3 |
required |
Record size |
Program - always 094 |
9 |
38-39 |
2 |
required |
Blocking factor |
Program - always 10 |
10 |
40 |
1 |
required |
Format code |
Program - always 1 |
11 |
41-63 |
23 |
optional |
Imm destination name |
Bank accounts screen 1, field 2 Bank name |
12 |
64-86 |
23 |
optional |
Imm origin name |
Bank accounts screen 2, field 3 Imm origin name |
13 |
87-94 |
8 |
optional |
Reference code |
Always “zeros” |
The following is the technical information for the record 5 ACH fields.
Field |
Position |
Size |
Status |
Field Name |
Data Origin |
1 |
01 |
1 |
required |
Record type |
Program - always “5" |
2 |
2-4 |
3 |
required |
Service class code |
Program - always “200" indicates a mix of DR/ CR |
3 |
5-20 |
16 |
required |
Company name |
Bank accounts screen 2/ field 1 ACH company name |
4 |
21-40 |
20 |
optional |
Discretionary data |
Not used |
5 |
41-50 |
10 |
required |
Company identification |
Bank accounts screen 2/ field 2 ACH company tax id/ no |
6 |
51-53 |
3 |
required |
Standard entry code |
If P/R: “PPD” If A/P: “CCD” |
7 |
54-63 |
10 |
required |
Company entry description |
Dt:(Check date in P/R and Trx date in A/P) or If P/R: “Payroll” If A/P: “A/P” |
8 |
64-69 |
6 |
required |
Company date |
If P/R: The Payroll control file period ending date in YYMMDD date format If A/P: it uses the system date |
9 |
70-75 |
6 |
required |
Effective entry date |
Payment (check) date from the Open item or Time transaction file |
10 |
76-78 |
3 |
required |
Reserved |
Blanks |
11 |
79-79 |
1 |
required |
Originator status code |
Program - always “1" |
12 |
80-87 |
8 |
required |
Originating bank ID |
If the immediate origin is your company as indicated in the Bank accounts screen 2 / tab 2, then it is from the Bank accounts screen 1/ field 5 Bank Routing.
If the immediate origin is your bank it uses the Bank accounts screen 2/ tab 2 ACH immediate origin tax ID/no |
13 |
88-94 |
7 |
required |
Batch number |
Program - always “1” |
The following is the technical information for the record 6 ACH fields.
Field |
Position |
Size |
Status |
Field Name |
Data Origin |
1 |
1 |
1 |
required |
Record type |
Program - always “6" |
2 |
2-3 |
2 |
required |
Transaction code |
22= CR checking account 23= Pre-note CR checking account 27 = DR checking account 28= Pre-note DR checking 32= CR savings account 33= Pre-note CR savings |
3 |
4-11 |
8 |
required |
Receiving bank ID |
If P/R: Based on the employee’s Banks code entered on the employee direct deposit record it uses the bank routing number and bank name. If A/P: Vendor’s bank routing number comes from a Banks record via the vendor record Bank code field. |
4 |
12-12 |
1 |
required |
Check digit |
Included from Field 3 above |
5 |
13-29 |
17 |
required |
Receiving bank account # |
If P/R: Employee bank account number from employee direct deposit file (includes check digit) If AP: Vendor bank account number from the Vendor file. |
6 |
30-39 |
10 |
required |
Amount |
Amount to pay from the Open item or Time transaction file |
7 |
40-54 |
15 |
optional |
Individual ID Information |
P/R: Employee number A/P: Vendor number |
8 |
55-76 |
22 |
required |
Individual name |
P/R: Employee name A/P: Vendor name |
9 |
77-78 |
2 |
optional |
Optional data field |
Not used |
10 |
79-79 |
1 |
required |
Addenda record |
Program - always “0". No addenda is used |
11 |
80-94 |
15 |
required |
Trace number |
This is a constructed number that consists of record 5/ field 12 bank routing number + the sequential number |
The following is the technical information for the record 8 ACH fields.
Field |
Position |
Size |
Status |
Field Name |
Data Origin |
1 |
01 |
1 |
required |
Record type |
Always “8" |
2 |
02-04 |
3 |
required |
Service class code |
Always “200"- DR & CR |
3 |
05-10 |
6 |
required |
Entry count |
Calculated: It is the number of detail records in this batch. Add 1 for every detail record 6 |
4 |
11-20 |
10 |
required |
Entry hash |
Calculated: Sum of record 6/ field 3 receiving bank ID number (excludes check digit) |
5 |
21-32 |
12 |
required |
Total DR amount |
Sum of total debits of record 6 |
6 |
33-44 |
12 |
required |
Total CR amount |
Sum of total credits of record 6 |
7 |
45-54 |
10 |
required |
Company identification |
Same as field 5/ record 5 This is from CTL Banks screen 2/ tab 2 Company-ID |
8 |
55-73 |
19 |
optional |
Message authentication |
Blanks |
9 |
74-79 |
6 |
required |
Reserved |
Blanks |
10 |
80-87 |
8 |
required |
Originating Bank ID |
From record 5/ field 12 |
11 |
88-94 |
7 |
required |
Batch Number |
Same as record 5/ field 13 |
The following is the technical information for the record 9 ACH fields.
Field |
Position |
Size |
Status |
Field Name |
Data Origin |
1 |
1 |
1 |
required |
Record type |
Program - always “9" |
2 |
2-7 |
6 |
required |
Batch count |
Program - always “1” |
3 |
8-13 |
6 |
required |
Block count |
Calculated: add 1 for every 10 records |
4 |
14-21 |
8 |
required |
Entry count |
Calculated: Number of record 6 records on file. |
5 |
22-31 |
10 |
required |
Entry hash |
Sum of record 6 field 3 receiving bank ID code (excludes check digit) |
6 |
32-43 |
12 |
required |
Total debit entry |
Sum of all DR amounts on record 6 field 6 |
7 |
44-55 |
12 |
required |
Total credit entry |
Sum of all CR amounts on record 6 field 6 |
8 |
56-94 |
39 |
required |
Reserved |
Blank |
Immediate origin is the last business entity to handle the ACH file before it reaches the final destination where the ACH file is processed and the payments are made.
The use of the ACH fields vary depending on the immediate origin settings. The two options are:
• | Your company is the immediate origin |
• | Your bank is the immediate origin |
This part of the appendix documents which fields are being used in both circumstances.
This is the most common circumstance. In this case your company is the immediate origin. These data variables are produced when the CTL Banks record tab 2/screen 2 / Is imm-origin your company field is checked (set to Y in character mode).
Record Type |
Field number |
ACH File Field Name |
Data Origin |
1 |
3 |
Immediate destination |
This is your bank. This is the ABA bank routing number which comes from the CTL Banks screen 1/ tab 1 ABA routing # field. |
1 |
4 |
Immediate origin no. |
This is usually your company’s Federal Tax ID number from CTL Banks screen 2/ tab 2 ACH imm-origin tax id/no. This could also be the DUNS code or any other unique designation as required by your bank. |
1 |
Destination name |
This is your company’s bank name from CTL Banks screen 1/ field 2 Bank Name. |
|
1 |
12 |
Immediate origin name |
This is from CTL Banks screen 2/ field 3 Imm-origin name. Note that this is usually your company’s name. |
5 |
3 |
Company name |
This is from the CTL Banks screen2/ field 1 ACH Company name. |
5 |
5 |
Company ID |
This comes from CTL Banks screen 2/ field 2: ACH Company tax id/no. It is usually the same as Immediate Origin from ACH file record 1/ field 4. It normally contains your company’s Federal Tax ID, preceded by a “1". Your bank contact person must instruct what goes in this field and which digit to precede the number. |
5 |
12 |
Originating bank |
This is the same as record 1/ field 3. It is your bank’s ABA routing number from the CTL Banks screen 1/ field 5. It excludes the check digit. |
Usually this means the Federal Reserve will process the ACH file. In this case the immediate origin is your bank. This procedure is followed when the Ctl Banks record tab/screen2 / field 3 Is imm-origin your company is unchecked (set to N in character mode).
In data below the ACH record type, ACH field number, ACH field name and where the data originates is provided.
Record Type |
Field Number |
ACH File Field Name |
Where the Data Originates |
1 |
3 |
Immediate destination |
This is the processing bank’s ABA routing number. This comes from the Ctl Banks screen 1/ field 5 ABA routing #. Note that the processing bank is NOT your company’s bank. |
1 |
4 |
Immediate origin |
This is the receiving bank’s ABA routing number from Ctl Banks screen 2/ field 4, ACH Imm-Origin ABA routing no. IT MUST BE your bank’s ABA number. |
1 |
11 |
Destination name |
This is the processing bank name entered in Ctl Banks screen 1/ field 2 Bank Name. This is NOT your bank. |
1 |
12 |
Immediate origin name |
This is the receiving bank’s name from Ctl Banks screen 2/ field 3 Imm-origin name. This is your bank’s name. |
5 |
3 |
Company name |
This is your company’s name from Ctl Banks screen 2/ field 1 ACH Company name. |
5 |
5 |
Company ID |
From Ctl Banks screen 2/ field 2: ACH Company tax id/ no. This usually contains your company’s Federal Tax ID preceded by a “1". Your bank contact person must instruct what goes in this field. |
5 |
12 |
Originating bank |
When Ctl Banks screen 2/ field 3 is N for the question Is Immediate Origin your company? use the bank routing number from Ctl Banks screen 2/ field 4 Immediate Origin tax id/ no. This is the same as record 1/field 4 but excludes the first position. |